home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / libs / garshnelib / garshnelib_protos.h < prev    next >
C/C++ Source or Header  |  1995-03-09  |  1KB  |  39 lines

  1. #ifndef GARSHNELIB_PROTOS_H
  2. #define GARSHNELIB_PROTOS_H
  3.  
  4. #ifndef min
  5. #define min( x, y ) ( (x) < (y) ? (x) : (y) )
  6. #endif
  7.  
  8. typedef struct _Triplet
  9. {
  10.     ULONG Red;
  11.     ULONG Green;
  12.     ULONG Blue;
  13. } Triplet;
  14.  
  15. #define SASM __saveds __asm
  16. #define DREG(x) register __d ## x
  17. #define AREG(x) register __a ## x
  18.  
  19. #define CastAndShift( x ) (( SPFix( SPMul( x, SPFlt( Colors )))) << Shift )
  20.  
  21. VOID SASM ScreenModeRequest( AREG(0) struct Window *, AREG(1) LONG *,
  22.                             AREG(2) LONG * );
  23. VOID SASM setCopperList( DREG(0) LONG, DREG(1) LONG, AREG(0) struct ViewPort *,
  24.                         AREG(1) struct Custom * );
  25. VOID SASM clearCopperList( AREG(0) struct ViewPort * );
  26. LONG SASM getTopScreenMode( VOID );
  27. LONG SASM getTopScreenDepth( VOID );
  28. struct Screen *SASM cloneTopScreen( DREG(0) LONG, DREG(1) LONG );
  29. ULONG *SASM GetColorTable( AREG(0) struct Screen * );
  30. LONG SASM AvgBitsPerGun( DREG(0) LONG );
  31. VOID SASM FadeAndLoadTable( AREG(0) struct Screen *, DREG(0) LONG,
  32.                            AREG(1) ULONG *, DREG(1) LONG );
  33. struct Window *SASM BlankMousePointer( AREG(0) struct Screen * );
  34. VOID SASM UnblankMousePointer( AREG(0) struct Window * );
  35. Triplet *SASM RainbowPalette( AREG(0) struct Screen *, AREG(1) Triplet *,
  36.                              DREG(0) LONG, DREG(1) LONG );
  37.      
  38. #endif /* GARSHNELIB_PROTOS_H */
  39.